package com.jhy.new2025.stack;

import java.util.Stack;

/**
 * 请你仅使用两个栈实现先入先出队列。
 * 队列应当支持一般队列支持的所有操作（push、pop、peek、empty）
 */
public class MyQueue {

   private Stack<Integer> intPut;
   private Stack<Integer> outPut;

    public MyQueue() {
        intPut = new Stack<>();
        outPut = new Stack<>();
    }

    public void push(int x) {
        intPut.push(x);
    }

    public int pop() {
        if (outPut.isEmpty()) {
            while (!intPut.isEmpty()) {
                outPut.push(intPut.pop());
            }
        }
        return outPut.pop();
    }

    public int peek() {
        if (outPut.isEmpty()) {
            while (!intPut.empty()) {
                outPut.push(intPut.pop());
            }
        }
        return outPut.peek();
    }

    public boolean empty() {
        return outPut.isEmpty() && intPut.isEmpty();
    }
}
